// -*- IDL -*-

/**
 * @file IORInfo.pidl
 *
 * $Id$
 *
 * @brief Pre-compiled IDL source for the IORInfo
 * components in the ORB.
 *
 * The following is from orbos/99-12-02 Portable Interceptors spec,
 * the full IDL is downloadable from orbos/99-12-02. This file contains
 * interfaces from PortableInterceptor.idl that depend on
 * ObjectReferenceFactory and ObjectReferenceTemplate, which inherit
 * directly or indirectly from CORBA::ValueBase. This separate file
 * has been created to remove the dependency from the rest of module
 * PortableInterceptor.
 *
 * This file was used to generate the code in IORInfoC.*
 * The command used to generate code is:
 *
 *  tao_idl
 *     -o orig -Gp -SS -Gd -Sa -St -Sci
 *          -I$(TAO_ROOT)
 *          -Wb,export_macro=TAO_IORInterceptor_Export
 *          -Wb,export_include="iorinterceptor_export.h"
 *          -Wb,pre_include="ace/pre.h"
 *          -Wb,post_include="ace/post.h"
 *          IORInfo.pidl
 */

// File: IORInfo.idl
#ifndef _IORINFO_IDL_
#define _IORINFO_IDL_

#include "tao/PortableInterceptor.pidl"
#include "tao/Policy_Forward.pidl"
#include "tao/IOP_IOR.pidl"
#include "tao/ObjRefTemplate/ObjectReferenceTemplate_include.pidl"

module PortableInterceptor
{
  typeprefix PortableInterceptor "omg.org";

  local interface IORInfo
  {
    CORBA::Policy get_effective_policy (in CORBA::PolicyType type);

    void add_ior_component (in IOP::TaggedComponent a_component);

    void add_ior_component_to_profile (
        in IOP::TaggedComponent a_component,
        in IOP::ProfileId profile_id
      );

    readonly attribute AdapterManagerId manager_id;

    readonly attribute AdapterState state;

    readonly attribute ObjectReferenceTemplate adapter_template;

    attribute ObjectReferenceFactory current_factory;
  };
};

#endif  /* _IORINFO_IDL_ */
